package com.sg.service.base.app;

import com.sg.dto.base.app.req.*;
import com.sg.entity.OmsVirtualOrg;

import java.util.List;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface MOmsVirtualOrgService {
    /**
     * 3-6-01新增虚拟组织
     */
    String addVirtualOrg(OmsVirtualOrg omsVirtualOrg);

    /**
     * 3-6-01批量查询虚拟组织
     */
    List<OmsVirtualOrg> batchQueryVirtualOrg(BatchQueryVirtualOrgReq reqDto);

    /**
     * 3-6-01查询虚拟组织
     */
    OmsVirtualOrg queryVirtualOrgDetail(QueryVirtualOrgDetailReq reqDto);

    /**
     * 3-6-01删除虚拟组织
     */
    boolean deleteVirtualOrg(String virtualOrgId);

    /**
     * 3-6-01批量改虚拟组织
     */
    boolean batchUpdateVirtualOrg(List<OmsVirtualOrg> omsVirtualOrg);

    /**
     * 3-6-01批量删虚拟组织
     */
    boolean batchDeleteVirtualOrg(List<String> reqDto);

    /**
     * 3-6-01查询虚拟组织列表
     */
    List<OmsVirtualOrg> queryVirtualOrgList(QueryVirtualOrgListReq reqDto);

    /**
     * 3-6-01构造虚拟组织验证数据
     */
    String buildVirtualOrg(OmsVirtualOrg omsVirtualOrg);

    /**
     * M3-6-01构造单条虚拟组织验证数据
     */
    String buildSingleVirtualOrg(OmsVirtualOrg omsVirtualOrg);

    /**
     * M3-6-01删除单条虚拟组织
     */
    boolean deleteSingleVirtualOrg(String virtualOrgId);

    /**
     * M3-6-01查询单条虚拟组织详情
     */
    OmsVirtualOrg querySingleVirtualOrgDetail(QuerySingleVirtualOrgDetailReq reqDto);

    /**
     * 3-6-01查虚拟组织（悬停）
     */
    List<OmsVirtualOrg> queryVirtualOrgHoverDetail(QueryVirtualOrgHoverDetailReq reqDto);

    /**
     * 3-06-01修改虚拟组织
     */
    boolean updateVirtualOrg(OmsVirtualOrg omsVirtualOrg);

    /**
     * 3-6-01新增无批次虚拟组织
     */
    String addNoBatchVirtualOrg(OmsVirtualOrg omsVirtualOrg);
    //
}
